/*****************************************************************************
 * $LastChangedDate: 2011-09-10 23:54:34 -0400 (Sat, 10 Sep 2011) $
 * @file
 * @author  Jim E. Brooks  http://www.palomino3d.org
 * @brief   Moon.
 *//*
 * LEGAL:   COPYRIGHT (C) 2008 JIM E. BROOKS
 *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
 *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
 *****************************************************************************/

#ifndef SKY_MOON_HH
#define SKY_MOON_HH 1

#include "fx/module.hh"
#include "fx/sprite.hh"
using namespace fx;

namespace sky {

////////////////////////////////////////////////////////////////////////////////
/// @brief Moon (Object-derivative) implemented as a Sprite.
///
/// Integration:
/// Moon is to be instantiated and contained by Sky.
///
class Moon : public Sprite
{
PREVENT_COPYING(Moon)
public:
                        Moon( SkyDome& skyDome, const Degree lat, const Degree lon );
    virtual             ~Moon();
    virtual void        SetPositionByLatLon( const Degree lat, const Degree lon );  // SetPosition() is a virtual method of base class
    virtual NodeSort    GetNodeSort( void );

private:
    SkyDome&        mSkyDome;
};

} // namespace sky

#endif // SKY_MOON_HH
